package com.woniu.mapper;

import com.woniu.dto.ProductDto;
import com.woniu.entity.Product;
import com.woniu.vo.ProductVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 黄展旺njn
 * @description 针对表【product(商品资料表)】的数据库操作Mapper
 * @createDate 2025-09-04 17:26:31
 * @Entity com.woniu.entity.Product
 */
public interface ProductMapper {
    List<Product> findAllProduct(ProductDto productDto);

    List<Product> categoryFindAll(Integer categoryId);
    int delete(Integer productId);



    int add(Product product);

    Product findByProductId(Integer productId);

    int update(Product product);
    List<Product> findAll();
    //根据种类id查商品
    /**
     * 根据种类ID查找商品列表
     * @param categoryId 种类ID
     * @return 商品列表
     */
    List<Product> findByCategoryId(Integer categoryId);
    // 根据供应商ID查询商品
    List<Product> findBySupplierId(Integer supplierId);

    // 扣减库存
    int reduceStock(@Param("productId") Long productId, @Param("buyNum") Integer buyNum);

    // 归还库存（增加库存）
    int increaseStock(@Param("productId") Long productId, @Param("buyNum") Integer buyNum);

    Integer getStockById(Long productId);

    List<ProductVo> findAllVo();
}